#!/bin/bash
# Путь где лежат файлы (до папки i586 не включая), можно относительный
DPATH=/home/kazancas/DISTRIB/EDU2011/sborka/
# Здесь заводим переменные
# Версия дистра в различных формах
DVERS=2011
DVERL=2011
DVERN=2011
DVERT=2011
# Сборка, здесь ставьте своё название
DVEND=EDM
#SRCMEDIA="main contrib non-free"
#Если есть желание добавить обновлённые пакеты, то формируем источники updatesm updatesc updatesn, 
#туда раскладываем обновлённые пакеты, для каждого источника свой каталог (для main  в updatesm, для контрибов - updatesc).
#устаревшие пакеты из main contrib non-free удаляем и раскоментариваем строку ниже
SRCMEDIA="free non-free"

IDXFILE=pkg-$DVERS-$DVERT-$DVEND.idx

# Дата сборки
DISTRDATE=`date +%Y%m%d" "%H:%M`

# Вычисляем абсолютный путь до файлов в CPATH
ttt=`pwd`
cd $DPATH 
CPATH=`pwd`
cd $ttt

# Перечень источников с полными путями
FLPTHMEDIA=
for a in $SRCMEDIA ; do 
    FLPTHMEDIA="$FLPTHMEDIA$CPATH/i586/media/$a "
done

# файл VERSION
cd ${CPATH}/i586
rm -f VERSION
echo Edumandriva Linux $DVERS-$DVERT official-Download-i586-$DVEND $DISTRDATE> VERSION
#chmod 444 VERSION

#Проверка зависимостей
#mkcd --checkdeps $FLPTHMEDIA
#echo "В случае ошибок нажмите Ctrl-C, если всё хорошо, жмите Enter" ; read

# удаляем старые *hdlist.cz compss depslist.ordered provides и прочее
rm -f ${CPATH}/i586/media/media_info/*hdlist?.cz
rm -f ${CPATH}/i586/media/media_info/compss
rm -f ${CPATH}/i586/media/media_info/depslist.ordered
rm -f ${CPATH}/i586/media/media_info/provides
rm -f ${CPATH}/i586/media/media_info/MD5SUM
rm -f ${CPATH}/i586/media/media_info/hdlists
rm -f ${CPATH}/i586/media/media_info/media.cfg
rm -f ${CPATH}/i586/media/media_info/pubkey*
for a in $SRCMEDIA ; do 
    rm -f ${CPATH}/i586/media/$a/media_info/*hdlist.cz 
    rm -f ${CPATH}/i586/media/$a/media_info/*.lzma*
    rm -f ${CPATH}/i586/media/$a/media_info/*.tmp
    rm -f ${CPATH}/i586/media/$a/media_info/MD5SUM
done 
rm -f ${CPATH}/MD5SUM
rm -f ${CPATH}/i586/*.idx


# Делаем новый rpmsrate
cd ${CPATH}/i586/media/media_info 
#chmod 644 rpmsrate
mkcd --update-rpmsrate rpmsrate $FLPTHMEDIA

# Делаем media_info
cd ${CPATH}/i586/media/media_info 
# Создаём описания synthesis.hdlist*.cz
mkcd -d --buildhdlist $FLPTHMEDIA
# md5 суммы описаний synthesis.hdlist*.cz
md5sum *hdlist?.cz > MD5SUM
# список источников hdlists
echo "suppl" > hdlists
echo "askmedia" >> hdlists
# список источников media.cfg
cat  >media.cfg << EOF
# Mandriva Linux $DVERN official-Download-i586-$DVEND $DISTRDATE

[media_info]
version=$DVERN
branch=official
arch=i586
product=Download
minor=0
subversion=1

suppl=1
askmedia=1

EOF

i=1
# Для каждого источника делаем свой media_info
for a in $SRCMEDIA ; do 
    cd ${CPATH}/i586/media/$a/media_info
    # Копируем ключ
    cp pubkey ${CPATH}/i586/media/media_info/pubkey$i
#    cp -p ${CPATH}/i586/media/media_info/synthesis.hdlist$i.cz synthesis.hdlist.cz
    # Создаём описания hdlist*.cz *.xml.lzma MD5SUM 
    genhdlist2 --clean --xml-info ${CPATH}/i586/media/$a
    # md5 суммы описаний
    # md5sum *hdlist.cz > MD5SUM
#    chmod 444 *
    # Размер источника в мегабайтах
    SSIZE=`du -ms ${CPATH}/i586/media/$a | awk '{ print $1}'`
    # Добавляем источник в hdlists
    echo "hdlist$i.cz media/$a MandrivaLinux-$DVERN($DVEND)-Installer (${SSIZE}m)" >> ${CPATH}/i586/media/media_info/hdlists
    # Добавляем источник в media.cfg
cat  >> ${CPATH}/i586/media/media_info/media.cfg << EOF
[$a]
hdlist=hdlist$i.cz
size=${SSIZE}m
descr="MandrivaLinux-$DVERN($DVEND)-Installer"
name="MandrivaLinux-$DVERN($DVEND)-Installer"
EOF
    i=$(($i+1))
    cd ..
#    chmod 444 *.rpm
done 
cd ${CPATH}/i586/media/media_info 
#chmod 444 *
# MD5 суммы пакетов
cd ${CPATH} 
for a in `find | grep .rpm$ | sort | sed s/^..// ` ;do md5sum $a ;done >MD5SUM
#chmod 444 MD5SUM
cd ${CPATH}/i586/media/
# Делаем .idx файл
for a in `find | grep .rpm$ | awk -F/ '{ print $3}' | sort ` ;do echo $DVERL-$DVEND-i586-DVD $a ;done > ${CPATH}/i586/$IDXFILE
#chmod 444 ${CPATH}/i586/$IDXFILE

cd $ttt

#For 64 bit

# Перечень источников с полными путями
FLPTHMEDIA=
for a in $SRCMEDIA ; do 
    FLPTHMEDIA="$FLPTHMEDIA$CPATH/x86_64/media/$a "
done

# файл VERSION
cd ${CPATH}/x86_64
rm -f VERSION
echo Edumandriva Linux $DVERS-$DVERT official-Download-x86_64-$DVEND $DISTRDATE> VERSION
#chmod 444 VERSION

#Проверка зависимостей
#mkcd --checkdeps $FLPTHMEDIA
#echo "В случае ошибок нажмите Ctrl-C, если всё хорошо, жмите Enter" ; read

# удаляем старые *hdlist.cz compss depslist.ordered provides и прочее
rm -f ${CPATH}/x86_64/media/media_info/*hdlist?.cz
rm -f ${CPATH}/x86_64/media/media_info/compss
rm -f ${CPATH}/x86_64/media/media_info/depslist.ordered
rm -f ${CPATH}/x86_64/media/media_info/provides
rm -f ${CPATH}/x86_64/media/media_info/MD5SUM
rm -f ${CPATH}/x86_64/media/media_info/hdlists
rm -f ${CPATH}/x86_64/media/media_info/media.cfg
rm -f ${CPATH}/x86_64/media/media_info/pubkey*
for a in $SRCMEDIA ; do 
    rm -f ${CPATH}/x86_64/media/$a/media_info/*hdlist.cz 
    rm -f ${CPATH}/x86_64/media/$a/media_info/*.lzma*
    rm -f ${CPATH}/x86_64/media/$a/media_info/*.tmp
    rm -f ${CPATH}/x86_64/media/$a/media_info/MD5SUM
done 
rm -f ${CPATH}/MD5SUM
rm -f ${CPATH}/x86_64/*.idx


# Делаем новый rpmsrate
cd ${CPATH}/x86_64/media/media_info 
#chmod 644 rpmsrate
mkcd --update-rpmsrate rpmsrate $FLPTHMEDIA

# Делаем media_info
cd ${CPATH}/x86_64/media/media_info 
# Создаём описания synthesis.hdlist*.cz
mkcd -d --buildhdlist $FLPTHMEDIA
# md5 суммы описаний synthesis.hdlist*.cz
md5sum *hdlist?.cz > MD5SUM
# список источников hdlists
echo "suppl" > hdlists
echo "askmedia" >> hdlists
# список источников media.cfg
cat  >media.cfg << EOF
# Mandriva Linux $DVERN official-Download-x86_64-$DVEND $DISTRDATE

[media_info]
version=$DVERN
branch=official
arch=x86_64
product=Download
minor=0
subversion=1

suppl=1
askmedia=1

EOF

i=1
# Для каждого источника делаем свой media_info
for a in $SRCMEDIA ; do 
    cd ${CPATH}/x86_64/media/$a/media_info
    # Копируем ключ
    cp pubkey ${CPATH}/x86_64/media/media_info/pubkey$i
#    cp -p ${CPATH}/x86_64/media/media_info/synthesis.hdlist$i.cz synthesis.hdlist.cz
    # Создаём описания hdlist*.cz *.xml.lzma MD5SUM 
    genhdlist2 --clean --xml-info ${CPATH}/x86_64/media/$a
    # md5 суммы описаний
    # md5sum *hdlist.cz > MD5SUM
#    chmod 444 *
    # Размер источника в мегабайтах
    SSIZE=`du -ms ${CPATH}/x86_64/media/$a | awk '{ print $1}'`
    # Добавляем источник в hdlists
    echo "hdlist$i.cz media/$a MandrivaLinux-$DVERN($DVEND)-Installer (${SSIZE}m)" >> ${CPATH}/x86_64/media/media_info/hdlists
    # Добавляем источник в media.cfg
cat  >> ${CPATH}/x86_64/media/media_info/media.cfg << EOF
[$a]
hdlist=hdlist$i.cz
size=${SSIZE}m
descr="MandrivaLinux-$DVERN($DVEND)-Installer"
name="MandrivaLinux-$DVERN($DVEND)-Installer"
EOF
    i=$(($i+1))
    cd ..
#    chmod 444 *.rpm
done 
cd ${CPATH}/x86_64/media/media_info 
#chmod 444 *
# MD5 суммы пакетов
cd ${CPATH} 
for a in `find | grep .rpm$ | sort | sed s/^..// ` ;do md5sum $a ;done >MD5SUM
#chmod 444 MD5SUM
cd ${CPATH}/x86_64/media/
# Делаем .idx файл
for a in `find | grep .rpm$ | awk -F/ '{ print $3}' | sort ` ;do echo $DVERL-$DVEND-x86_64-DVD $a ;done > ${CPATH}/x86_64/$IDXFILE
#chmod 444 ${CPATH}/x86_64/$IDXFILE

cd $ttt
